// Loesung_von_Aufgabe_12.4_3_Servo_Processing

// Bibliothek von Processing für serielle Schnittstellen importieren (.* bedeutet alles importieren)
import processing.serial.*;

// Die Variable arduino wird der Klasse Serial zugeordnet
Serial arduino;

void setup()
{
  size(900, 300);

  /* Die Werte vom seriellen Port des Arduinos werden der Variablen "arduino" zugeordnet.
   Serial.list() gibt ein Array aller angeschlossenen seriellen Geräte zurück.
   Hier wird davon ausgegangen, dass nur der Arduino angeschlossen ist und er somit an erster Stelle des Arrays liegt.
   Die Baudrate beträgt wie im Arduino-Sketch 9600 */
  arduino = new Serial(this, Serial.list()[0], 9600);
}

void draw()
{
  background(0);
  noStroke();

  // Der Servo kann sich von 0 bis 180 Grad drehen
  // Da das Fenster 180 * 5 (= 900) Pixel breit ist, kann man die Mausposition in x-Richtung durch 5 Teilen und so den Winkel errechnen
  // Wenn man die Maus entlang des Fensters bewegt, dreht sich dann der Servo
  arduino.write(mouseX / 5);
}